home *** CD-ROM | disk | FTP | other *** search
/ Aminet 21 / Aminet 21 (1997)(GTI - Schatztruhe)[!][Oct 1997].iso / Aminet / dev / misc / gms_dev.lha / GMS / Source / C / Fading / WhiteFade.c < prev   
Encoding:
C/C++ Source or Header  |  1997-06-27  |  1.3 KB  |  52 lines

  1. /*
  2. ** Name:      White Fade Demo
  3. ** Author:    Paul Manias
  4. ** Copyright: DreamWorld Productions © 1996-1997.
  5. ** SAS/C:     1> sc WhiteFade.c link startup=LIB:gms.o data=far nostackcheck
  6. ** Dice:      1> dcc -l0 -mD gms.o WhiteFade.c -o WhiteFade
  7. **
  8. ** There are three examples of fading in this program:  ColourMorph(),
  9. ** ColourToPalette(), and PaletteToColour().
  10. **
  11. */
  12.  
  13. #include <proto/games.h>
  14.  
  15. extern struct GMSBase *GMSBase;
  16. APTR PREFSNAME = DEFAULT;
  17.  
  18. void main(void)
  19. {
  20.   UWORD FadeState = 0;
  21.   struct GameScreen *screen;
  22.   struct Picture *pic;
  23.  
  24.   if (pic = LoadPicFile("GMS:demos/data/PIC.Loading",GETPALETTE|VIDEOMEM)) {
  25.    if (screen = GetScreen()) {
  26.       CopyStructure(pic,screen);
  27.       screen->MemPtr1 = pic->Data;
  28.  
  29.       if (screen = AddScreen(screen)) {
  30.  
  31.         ShowScreen(screen);
  32.  
  33.         do { WaitVBL();
  34.              FadeState = ColourMorph(screen,FadeState,10,0,32,0x000000,0xFFFFFF);
  35.         } while (FadeState != NULL);
  36.  
  37.         do { WaitVBL();
  38.              FadeState = ColourToPalette(screen,FadeState,2,0,32,pic->Palette,0xFFFFFF);
  39.         } while (FadeState != NULL);
  40.  
  41.         do { WaitVBL();
  42.              FadeState = PaletteToColour(screen,FadeState,2,0,32,pic->Palette,0x000000);
  43.         } while (FadeState != NULL);
  44.  
  45.       }
  46.    DeleteScreen(screen);
  47.    }
  48.   FreePic(pic);
  49.   }
  50. }
  51.  
  52.